package main

import (
	"fmt"
	"net/http"
)

func listenPort() {
	http.HandleFunc("/addTask", addTaskHandler)       // 注册路由：添加任务
	http.HandleFunc("/taskStatus", taskStatusHandler) // 注册路由：任务状态
	http.HandleFunc("/version", versionHandler)       // 注册路由：程序版本
	http.HandleFunc("/update", updateHandler)         // 注册路由：程序升级
	http.ListenAndServe(":8321", nil)                 // 启动服务器，监听 8321 端口
}

func addTaskHandler(w http.ResponseWriter, r *http.Request) {
	// TODO
	fmt.Fprintf(w, "ok")
}

func taskStatusHandler(w http.ResponseWriter, r *http.Request) {
	// TODO run：运行中 ok：运行完（未中标） success:xxx：运行完（中标了）
	fmt.Fprintf(w, "run")
}

func versionHandler(w http.ResponseWriter, r *http.Request) {
	// TODO 按照程序哈希值提供
	fmt.Fprintf(w, "ok")
}

func updateHandler(w http.ResponseWriter, r *http.Request) {
	// TODO 接收上传的二进制流，保存为自身，开一个子进程，子进程等待父进程退出
	fmt.Fprintf(w, "ok")
}
